package com.xinjian.jianba.examples;

import java.io.UnsupportedEncodingException;

import com.qiniu.util.Auth;

public class check {
	private static final String ACCESS_KEY = "tb1uBM7zB7VBopMs1-VHPnTwz0JsUYh9I194OMB6";
    private static final String SECRET_KEY = "M-zy_OwUebkEmkbDxa6GPA2XMBVTDdHg3GtrkJx9";
	/*
	* 这两个参数就是在定义PutPolicy参数时指定的内容
	*/
	//回调地址
	static String callbackUrl = "http://gmkly6.e2.luyouxia.net:29024/api/v1/jianba/qiniuyun/callBack";
	//定义回调内容的组织格式，与上传策略中的callbackBodyType要保持一致
	//String callbackBodyType = "application/x-www-form-urlencoded"; //回调鉴权的签名包括请求内容callbackBody
	static String callbackBodyType = "application/json";//回调鉴权的签名不包括请求内容
	/**
	 * 这两个参数根据实际所使用的HTTP框架进行获取
	 */
	//通过获取请求的HTTP头部Authorization字段获得
	static String callbackAuthHeader = "xxx";
	//通过读取回调POST请求体获得，不要设置为null
	
	
	public static void main(String[] args) throws UnsupportedEncodingException {
		Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
		byte[] callbackBody = "filename=$(fname)&filesize=$(fsize)".getBytes("utf-8");
		//检查是否为七牛合法的回调请求
		boolean validCallback = auth.isValidCallback(callbackAuthHeader, callbackUrl,callbackBody , callbackBodyType);
		System.out.println(validCallback);
		if (validCallback) {
		    //继续处理其他业务逻辑
		} else {
		    //这是哪里的请求，被劫持，篡改了吧？
		}
	}

}
